import axios from "axios";

const instance = axios.create({
    //网络请求的公共配置
    timeout: 5000
})

//最常用的拦截器

//在发送之前
instance.interceptors.request.use(
    config => {
        if (config.method === "post") {
            // if (config.url.indexOf('home') != -1) {
            //     config.data = querystring.stringify(config.data);
            // }
            // config.data = querystring.stringify(config.data);//这里设置post参数 为字符串形式

        }
        // if (config.method === "get") {
        //     console.log('---拦截器---')
        //     console.log(config)
        // }
       
        //包含网络请求的所有配置信息
        return config;
    },
    error => {
        return Promise.reject(error)
    }

)


instance.interceptors.response.use(
    response => {
        return response.status == 200 ? Promise.resolve(response) : Promise.reject(response)

    },
    error => {

        //错误才需要关注
        return Promise.reject(error);
        // errorHandle(error);

    }
)

// const errorHandle = (error) => {
//     const { response } = error;

//     console.log(error)
//     //   console.log(response.info)
//     if (error.code == 'ERR_NETWORK') {
//         return Promise.reject(error);
//     }

//     switch (response.status) {
//         case 400:
//             console.log('400!')
//             break;
//         case 401:
//             console.log('服务器认证失败!')

//             break;
//         case 403:
//             console.log('服务器拒绝访问!')

//             break;
//         case 404:
//             console.log('地址错误!')

//             break;
//         case 500:
//             console.log('服务器遇到意外!')

//             break;
//         case 502:
//             console.log('服务器无响应!')

//             break;
//         default:
//             console.log(error.message)

//             break;

//     }
//     return Promise.reject(error);
// }



export default instance;
